home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / GAMES / EMULATOR / MAMEBETA.ZIP / RISCOS.TXT < prev    next >
Text File  |  1998-01-09  |  34KB  |  806 lines

  1.  
  2. ARM MAME, version 0.30.0, ported by Gareth S. Long
  3. ==================================================
  4.  
  5.  
  6. Last updated: (09 Jan 1998)
  7.  
  8. ** PLEASE READ THE CHANGELOG AT THE BOTTOM OF THIS FILE FOR IMPORTANT
  9. UPGRADE INFORMATION **
  10.  
  11. What is it?
  12. ===========
  13.  
  14. Welcome to ARM MAME, the Multiple Arcade Machine Emulator. MAME is a large
  15. modular emulation system which allows a relatively huge number of classic
  16. arcade machine PROM images spanning several different games motherboard and
  17. chipset types to be emulated and run successfully. The upshot is that you get
  18. the chance to run original Arcade games *exactly* as they were; you *are*
  19. playing the coin-op version, and no substitute. As a result, and rightly so,
  20. MAME has generated a huge worldwide following, spawning tens of dedicated
  21. web pages with hundreds of links relating to various aspects of MAME, from
  22. ROM image addresses and screenshots, to technical information, to
  23. reminiscences from people who mis-spent almost their entire youth and some
  24. way beyond in a dingy chipshop playing pacman, or who were beaten to within
  25. an inch of their lives by an angry cafe owner for breaking a Robotron 2084
  26. joystick, or something.
  27.  
  28. MAME is the largest emulation project currently in existence, many people
  29. having contributed drivers, information, etc, towards it's development. MAME
  30. is, as a result, constantly in a fluid state, usually undergoing 3-4 revisions
  31. a month, each revision usually adding an average of 25 games to the 'supported'
  32. list.
  33.  
  34. This port is intended to provide all the functionality of MAME for RISC OS.
  35. Where applicable, each of the features available to, say, MS DOS is available
  36. for the RISC OS port too.
  37.  
  38. It's also a bit good.
  39.  
  40. The documentation for MAME should have arrived within this archive (as well
  41. as a copy of the distribution license) - the MAME documentation is fairly
  42. generic but has some DOS specific stuff towards the end. The RISC OS setup
  43. instructions are given below.
  44.  
  45. What do I need?
  46. ===============
  47.  
  48. Best results are obtained with a StrongARM based Risc PC. Sorry, but versions
  49. of MAME for other machines are only really usable on a 486DX100 or similarly
  50. specced machine, or above for some games. Having said that, ARM 710 users
  51. shouldn't have much of a problem with most games. I am committed to making
  52. MAME more usable on lower-ended machines. Honestly:
  53.  
  54. MAME will work on older machines, but the palette will be completely wrong at
  55. the moment for reasons I will describe below. Expect this to change soon,
  56. however.
  57.  
  58. Picking up the game PROMs
  59. =========================
  60.  
  61. These are fairly widely available via the internet. In order to use the games
  62. legally, you should in theory own the original game machine boards (I do for
  63. most of them, yes really :-) ) and you shouldn't just go picking them up via
  64. sites like http://www.xs4all.nl/~delite/arcade_mame.html .. so I'm sure you
  65. won't.
  66.  
  67. Organising MAME
  68. ===============
  69.  
  70. This will change a great deal as frontends for MAME are developed and put
  71. into play.. but for now...
  72.  
  73. Create a directory called MAME somewhere on your hard disc. I *strongly*
  74. recommend that this directory be an image filing system archive (zipfile or
  75. TBAFS archive will do nicely, as will a DOSFS partition.. public domain
  76. utilities like X files etc also work well. You can even use StrongHelp to
  77. archive the files inside a new StrongHelp manual). This allows you to use
  78. more than 77 filenames in a directory, and also allows you to use filenames
  79. greater than 10 characters, which some games need)
  80.  
  81. unpack the contents of the MAME archive into it.
  82.  
  83. Create two blank directories, called 'CFG' and 'HI', alongside the MAME
  84. executable.
  85.  
  86. Unpack any games you have downloaded into directory names which match the
  87. game name (like 'pacman','dkong' etc). These should be subdirectories within
  88. your MAME directory. Your resulting directorystructure should look thus
  89. (names in square brackets are directory names):
  90.  
  91.                         [MAME] (image filing system archive)
  92.             
  93.                 
  94. MAME (executable)  MameVox  [pacman]    [invaders]     [CFG] [HI] [... etc]
  95.                 |         |                    |
  96.                pacman/a      invaders.e               ...
  97.                pacman/b      invaders.h               ...
  98.                pacman/c      invaders.g               ...
  99.                ...          ...                   ...
  100.  
  101.  
  102. To run MAME, set your current directory to that of the MAME image filing
  103. system ardchive (double clicking on the provided SetDir obeyfile will do this
  104. for you).
  105.  
  106. If you want sound, double-click on the SetVox obeyfile.
  107.  
  108. Ensure you have a large wimpslot set - drag the next slot so that it's at
  109. least 1500K - games like Zaxxon will need as much as 4MBytes to run. Other games
  110. will need more.
  111.  
  112. Press f12, then type 'mame <gamename>' (eg 'mame dkong', 'mame zaxxon' etc)
  113.  
  114.  
  115. Some generic keys are:
  116.  
  117. 3         Insert coin (pulse to coin mech 1, more specifically)
  118. 1         Start 1 player game
  119. 2         Start 2 players game
  120. Tab       Enter dip switch, key and joy settings, and credits display menu
  121.           Pressing TAB again returns you to the emulator, ESC will exit from MAME.
  122. P         Pause
  123. F3        Reset
  124. F4        Show the game graphics. Use cursor keys to change set/color, F4 to exit
  125. F8        Change frame skip on the fly (60, 30, 20, or 15)
  126. F9        To change volume percentage thru 100,75,50,25,0.
  127.           Keypad PLUS and MINUS change the volume with fine granularity
  128. F10       Toggle speed throttling
  129. F11       Toggle fps counter
  130. F12       Save a screen snapshot
  131. numpad +/-   Volume adjust
  132. left shift + numpad +/- Gamma correction adjust
  133. ESC       Exit emulator
  134.  
  135. Note that running mame with the '-cheat' option allows you to use the fairly
  136. extensive cheat facilities available.
  137.  
  138. Remember that with MAME 0.28 and below, dip switch/key settings are *saved*
  139. in the game directory as a */DSW and *.key (etc) files (MAME 0.25 groups it
  140. all into a /CFG file)... You can remove these to reset to the defaults. Some
  141. upgrades to MAME (particularly those up to 0.25) will necessitate the manual
  142. removal of these files. Note that the generic ReadMe file always warns you to
  143. do this. Warnings in this file will almost always also apply to the RISC OS
  144. version.
  145.  
  146. MAME 0.29 and above store the CFG and HI files in their own directory,
  147. alongside, but separate from the games directories, see the hierarchy chart
  148. for where to put these two blank directories - they will become filled as you
  149. play more games.
  150.  
  151. Have fun.
  152.  
  153. Other options
  154. =============
  155.  
  156. MAME takes a veriety of options other than just the game name. All the
  157. generic MAME options are supported, all the applicable DOS options are
  158. supported, and there are a few RISC OS specific ones. These are as follows.
  159.  
  160. -320          tell MAME to use a vesa 320x240 video mode
  161. -512          same as above, video mode is 512x384
  162. -640          same as above, video mode is 640x480
  163. -800          same as above, video mode is 800x600
  164. -1024         same as above, video mode is 1024x768
  165. -1280         same as above, video mode is 1280x1024
  166. -1600         same as above, video mode is 1600x1200
  167.  
  168. -XxY          where X and Y are width and height (ex: 800x600) (not yet implemented)
  169.  
  170. -vsync        synchronise video display with the video beam instead of using
  171.               the timer. This works best with -noscanlines and the -vesaxxx
  172.               modes. Use F11 to check your actual frame rate - it should be
  173.               around 60. If it is lower, try to increase it with -vgafreq (if
  174.               you are using a tweaked video mode) or use your video board
  175.               utilities to set the VESA refresh rate to 60 Hz.
  176.               Note that when this option is turned on, speed will NOT
  177.               downgrade nicely if your system is not fast enough.
  178. -rotate       No longer supported by any MAME.
  179. -nojoy        don't poll joystick (not really needed with RISC OS)
  180. -log          create a log of illegal memory accesses in ERROR/LOG
  181. -list         display a list of currently supported games
  182. -help, -?     display current mame version and copyright notice
  183. -list         display a list of currently supported games
  184. -listfull     display a list of game directory names + description
  185. -listroms     display selected game required roms
  186. -listsamples  display selected game required samples
  187. -mouse        enable mouse support
  188. -trak         enable trackerball emulation support
  189.  
  190. -frameskip n  skip frames to speed up the emulation. For example, if the game
  191.               normally runs at 60 fps, "-frameskip 1" will make it run at 30
  192.               fps, and "-frameskip 2" at 20 fps. Use F11 to check the fps your
  193.               computer is actually displaying. If the game is too slow,
  194.               increase the frameskip value. Note that this setting can also
  195.               affect audio quality (some games sound better, others sound
  196.               worse).  Maximum value for frameskip is 3.
  197.               
  198.  
  199. -ror          rotate the display clockwise by 90 degrees. 
  200.               This implies '-vesa -800x600' if not specified otherwise
  201.               on the command line. It also provides authentic *vertical*
  202.               scanlines, given you turn your monitor to its side.
  203.               CAUTION:
  204.               A monitor is a complicated, high voltage electronic device.
  205.               There are some monitors which were designed to be rotated.
  206.               If yours is _not_ one of those, but you absolutely must
  207.               turn it to its side, you do so on your own risk.
  208.  
  209.               ******************************************************
  210.               PLEASE DO NOT LET YOUR MONITOR WITHOUT ATTENTION IF IT
  211.               IS PLUGGED IN AND TURNED TO ITS SIDE
  212.               ******************************************************
  213. -ror          rotate the display clockwise by 90 degrees.
  214. -rol          rotate display anticlockwise
  215. -flipx        flip display horizontally
  216. -flipy        flip display vertically
  217.  
  218.               -ror and -rol provide authentic *vertical* scanlines, given you
  219.           turn your monitor to its side.
  220.  
  221. -cheat        Cheats like the speedup in Pac Man or the level skip in many
  222.               other games are disabled by default. Use this switch to turn
  223.               them on.
  224.  
  225. -voices <n>   use <n> channels for RISC OS sound. Values are: 1,2,4 and 8.
  226. -doubley      use scanline doubling (useful if MAME is pickking a mode which
  227.           'letterboxes' with your monitor type - MAME will pick a larger
  228.           mode but stretch the video image in the Y axis.
  229.  
  230. -gappy          This is only useful with -doubley. This gives 'gaps' between the
  231.           doubled-up scanlines to give a more authentic effect.
  232. -hz <freq>    Force only monitor definitions conforming to <freq> freqnecy.
  233.               Find something else if it can't find that freqency for the
  234.               given resolution. Default, or -1 is Wolverhampton
  235.               female on a Friday night.
  236. -fm/-nofm (default: -nofm) on other systems, this means 'use the SoundBlaster
  237.           OPL chip for music emulation in some games. This would be faster,
  238.           with less faithful emulation, but we don't have soundblaster OPL.
  239. -romdir       specify an alternate directory where to load the ROMs from
  240.  
  241. -normalrefresh (default)
  242. -directrefresh
  243. -bankedrefresh
  244.           These allow direct screen access (or bankswitched direct screen access)
  245.           instead of the usual MAME blit technique (-normalrefresh), thus speeding
  246.           the game up a little on slower systems.
  247.           This will not work with some games, however, and banked/directrefresh are
  248.           best used in conjunction with -vsync.
  249. -vg           is no longer supported. It's now the default when using
  250.               vesa for vector games.
  251. -aa/-noaa (default: -noaa) use some crude form of anti_aliasing for the
  252.               vector games.
  253. -cheat        Cheats like the speedup in Pac Man or the level skip in many
  254.               other games are disabled by default. Use this switch to turn
  255.               them on.
  256. -debug        Activate the integrated debugger. During the emulation, press
  257.               tilde to enter the debugger.
  258. -record nnn   Record joystick input on file nnn.
  259. -playback nnn Playback joystick input from file nnn.
  260. -savecfg      save the configuration into mame.cfg
  261. -ignorecfg    ignore mame.cfg and start with the default settings
  262.  
  263.  
  264. Unless you specify otherwise, MAME will attempt to pick the correct display
  265. resolution for you given your monitor type, and choose the next nearest if
  266. that fails. Most games require 224x288. holding down CONTROL during startup
  267. will allow you to see some of the diagnostic messages giving information on
  268. what mode MAME found suitable.
  269.  
  270. On a Risc PC, you can define your own modes using !MakeModes to make the best
  271. use of your monitor.
  272.  
  273. The best method of setting up perfect modes for MAME are as follows:
  274.  
  275. 1) Get a copy of something like !MakeModes, !CustomVDU or whatever, from any
  276. good Acorn-related FTP site (!MakeModes is available from ftp.acorn.co.uk).
  277.  
  278. 2) Define a mode of either the exact size you need (eg 224x288) or one with
  279. *twice* the Y resolution so that you can use -doubley (and -gappy if you
  280. like) - modes defined this way are likely to have a lower refresh rate and
  281. might perform a little better.
  282.  
  283. It doesn't take an experienced modesman to define up a mode that'll work fine
  284. with your monitor type - just fiddle with a resolution reasonably close to
  285. what you're aiming for. Pass your examples of professional modesmanship to me
  286. and I'll include them with the MAME distribution, I shall provide some
  287. ready-made monitor definition files I've defined for common monitortypes
  288. soon.
  289.  
  290.  
  291. Issues
  292. ======
  293.  
  294. Palette is wrong on non Risc PCs. The reason for this right now is simple -
  295. the generic MAME code expects to assign specific colour numbers with specific
  296. R G and B values. This works the other way round to non Risc PCs fixed
  297. palette system where the best you can hope for is to return a colour number
  298. for a given R, G and B entry. (so, for example, MAME may say 'I want colour
  299. 24 to be dark blue' wheras with older machines, all you can do is 'give me
  300. the colour number nearest to what dark blue is'). Similarly, Williams
  301. Electronics games expect to be able to define any colour to any value at any
  302. point.
  303.  
  304. Sound may not yet be perfect. Let me know of any problems you might find.
  305.  
  306. If you do get any abnormal crashes, it's always best to re-run MAME (just use
  307. MAME -vsync or something) and then quit MAME again when you're at the copyright
  308. screen. This ensures that the sound system (etc) code is reset properly so you don't
  309. get any nasty problems on return to the desktop,
  310.  
  311.  
  312. It is *very important* you don't mix and match your
  313. MameVoices/DACSupport/DigiPink module with different versions of the MAME
  314. executable. Newer versaions of MAME will tell you you're being bad.. older
  315. versions will cause cause nightmares of near biblical proportions.
  316.  
  317. Other information can be found in the ChangeLog below.
  318.  
  319.  
  320. Contact Details
  321. ===============
  322.  
  323. Latest versions of MAME are available from:
  324.  
  325. http://www.elecslns.demon.co.uk/MAME
  326.  
  327. I'll try to upload the latest version of MAME to Arcade BBS as well. More
  328. than anything I'll try to post messages too. And yes, I can see what you are
  329. saying.. I'm omnipresent, I am...
  330.  
  331. gatch@elecslns.demon.co.uk (home)
  332. gareth@maygay.co.uk    (work.. I can check work from home and vice versa)
  333. gatch@maygay.co.uk (etc)
  334.  
  335. Gareth S. Long (or 7), user #7 on Arcade (0181 654 2212/0181 655 4412.. it's well
  336. sexy)
  337.  
  338. More information is available on the RISC OS emulation mailing list.
  339.  
  340. To subscribe, send a message *TITLE* of 'SIGNON emulator-l' (that's a lower
  341. case L) to maillist@elecslns.demon.co.uk. It's a low volume list.
  342.  
  343. Things I Want To Be Knowing About
  344. =================================
  345.  
  346. Let me know if you have any problems at all. Well.. first of all consult the
  347. MAME FAQ or the generic documentation - there's a good likelihood any game
  348. problems you are having aren't related specifically to the ARM version. For
  349. example.. Gorf does not work!! It doesn't work on any other version of MAME
  350. either. The generic readme files tell you exactly what games run and what
  351. games don't, and what games need .sam sample files alongside the ROM images
  352. in order to get sounds. If any games do behave different with the RISC OS
  353. version, then I want to sort it out.
  354.  
  355. If (when? :-) ) you do get problems with the ARM version, I can be contacted
  356. at the above addresses.    Please give as *much* information about any crashes
  357. as you can.. like, for example, any screen output generatedm, machine and
  358. processor type, RISC OS version, the type of FS you store your ROM images in,
  359. amount of memory you're allocating to MAME, etc.. Also, when I do something
  360. about it, please let me know if the result worked!!! There is *nothing* worse
  361. than someone telling me it 'crashes sometimes', I dig the details out of
  362. them, provide feedback, and they never send a response back letting me know
  363. if my changes worked or not, so I have to chase them up again. Similarly
  364. people who say 'oh this version seems a bit slower' - with well over 300
  365. games and a million different configurations, this comment is effectively
  366. useless to me.
  367.  
  368. I'm interested in any ways it can be improved, and I'm sure there are
  369. millions of them, in addition to trying to find out why women manage to go
  370. through so much more toilet paper, or why some like to order a pizza with a
  371. specific topping, only to peel the topping off because they like the taste
  372. the topping leaves on the pizza, but not the topping itself. Or why Pringles
  373. last about a year longer than normal crisps. I'll always try my very best to
  374. reply.
  375.  
  376. I will try to port the latest MAME sources as soon as I possibly can.. this
  377. seems to mean within a day or two of it being released at present..so far
  378. I've managed to get RISC OS releases of MAME out quicker than Mac and Amiga
  379. versions for quite a while.
  380.  
  381. Thanks
  382. ======
  383.  
  384. All the people working on MAME, front ends etc.. :-)
  385.  
  386. Michael Borcherds, for help with what will become the TurboMAME module.
  387.  
  388.  
  389.  
  390. To Do
  391. =====
  392.  
  393. 'Acceleration' of vector graphics.. this is something other ports don't have yet
  394. (which surprises me)
  395.  
  396. -desktop operation.
  397.  
  398. The TurboMAME module, which,when loaded, provides alternative 6502 and Z80 emulation
  399. for RISC OS MAME, speeding it up somewhat and making it much more usable on non
  400. StrongARM based machines.
  401.  
  402.  
  403.  
  404. History
  405. =======
  406.  
  407. 07 Jun 1997 (MAME 0.23)
  408.  
  409. Started. Came in late from a nightclub. Sat down with pizza box. Got the MAME
  410. code to compile and made a start on the operating system dependant stuff.
  411. When I came to next morning, I found there was some kind of video support.
  412.  
  413. 09 Jun 1997
  414.  
  415. Added keyboard support (buggy). First release made available to a few people.
  416.  
  417. 11 Jun 1997
  418.  
  419. Started on the sound code. Sorted out some keyboard issues.
  420.  
  421. 15 Jun 1997 (MAME 0.24.0)
  422.  
  423. Notice 0.24 MAME sources are available, so grafted them in. I'll always try
  424. to ensure ARM MAME uses the absolute latest MAME source available. 
  425.  
  426. 22 Jun 1997 (MAME 0.24.1 extreme beta)
  427.  
  428. First version with limited sound support. Limited as in it doesn't actually
  429. work very well at all. Words cannot describe how much the sound system is
  430. annoying me. I have to work with sound tables as small as 16 bytes. It's
  431. nasty.
  432.  
  433. 24 Jun 1997 (MAME 0.24.1 beta 2)
  434.  
  435. Sound is improved a little. Not that much, though. Certainly not enough.
  436. Damn. better screen mode selection code (well.. it's got mode selection
  437. code). This actually works well, though you're bets off defining some modes
  438. as old arcade machine resolutions are a little B'zarre.
  439.  
  440. The problem with setting DIL switch options via TAB, and cycling game
  441. graphics/colours has been fixed.
  442.  
  443.  
  444. 26 Jun 1997
  445.  
  446. Stuff was done. Lots and lots of it. Also, I got round to doing some things
  447. too. I wondered if the things would get in the way of the stuff, but
  448. thankfully I seemed to manage both. I must have too much time on my hands or
  449. something. Anyway, the collection of things and stuff included:
  450.  
  451. Scanline doubling support! 
  452.  
  453. Gapped scanline doubling support too.
  454.  
  455. Game graphics are now centralised within the mode if the mode is larger than
  456. the games' resolution.
  457.  
  458. Sound should be a lot better :-) (woohoo) Still not right though (D'oh)
  459.  
  460. I wrote some documentation. It'll be the stuff you're reading right now. You
  461. lucky, lucky people.
  462.  
  463.  
  464. 29 Jun 1997 (0.24.1 beta 3)
  465.  
  466. More work on sound, it should at least play on systems now. Let me know if it
  467. doesn't.
  468.  
  469. The invaders/h problem has been worked on. All game PROMs should now be
  470. converted whether they are given names like invaders.h, invaders/h or
  471. h.invaders. Lahvly. In theory.
  472.  
  473. 01 Jul 1997
  474.  
  475. Made mode selection less fussy (IE it won't give up on a resolution if it
  476. can't find it at the ideal framerate any more)
  477.  
  478. Improvements to sound
  479.  
  480. Williams Electronics Driver colour cycling implemented - this wasn't done
  481. before because the code to drive the DOS version directly isn't really in the
  482. right place in the MAME source (in the operating system dependant part of the
  483. code), and I was hoping it would be fixed in 0.25 but it wasn't.
  484.  
  485. 02 Jul 1997
  486. Merged in 0.25 MAME sources.
  487. Sound is better...
  488. Sorted so all the erroneous osdependant stuff hanging around in the MAME
  489. source code is worked through to my RISC OS stuff..
  490.  
  491. Because the vsync rate is so high in some monitor def files, I added the -hz
  492. option so people can force a specific frame rate for now (dropping to another
  493. mode if it can't get it) this is because constantly waiting on vsyncs which
  494. are happening all the time (when there's little backtrace time to do anything
  495. else) slows games down somewhat. The fix is really to try to define lower
  496. frame rate mdf's if you can, or define a double-height mode and use the
  497. -doubley option.
  498.  
  499. 05 Jul 1997
  500.  
  501. Linked with updated C library. This at least changed the problem people were
  502. having with inability to load game files.
  503.  
  504. 08 Jul 1997
  505.  
  506. Turns out the above game directory search failiure is down to a bug in either
  507. the OS, FS or library code. It's hard to find as only 3 people to my
  508. knowledge have the problem and I can't for the life of me repeat it. Anyway,
  509. let me know what this one does, as I should have worked around it.
  510.  
  511. Sound is now much improved.. no, really (!)... sound streaming also supported
  512. so a *lot* more games now have sound, especially if you've picked up the .sam
  513. files to go with the ROM images. 
  514.  
  515. -doubley won't give up so easily finding a double Y res mode, so exceptions
  516. shouldn't happen here anymore.
  517.  
  518. Overall volume setting implemented.
  519.  
  520. Mouse control implementation has begun.
  521.  
  522. 11 Jul 1997    (0.25.3)
  523.  
  524. Linked with a completely different library. Executable should now be a few
  525. hundred K shorter and a bit faster, and I believe all the name problems have
  526. finally gone.. whopee.
  527.  
  528. To get your images in order, just ensure names like pacman.6e are copied
  529. as pacman/6e - that's it. Easy, huh? All archive filings systems will do that
  530. for you as it's standard. 
  531.  
  532. 16 Jul 1997
  533.  
  534. Got 0.26 sources. Ported. Found 0.26 sources had problems...
  535.  
  536. 17 Jul 1997 (0.26.0)
  537.  
  538. Okay.. 0.26 is basically fairly shagged. The problem appears to be memory
  539. corruption within the MAME code itself (d'oh) - it's apparently with the PC
  540. version as well, so it appears I am not to blame (woohoo/d'oh).
  541.  
  542. All I can say is you'll find some things work better than before, the new
  543. games supported seem to work okay, but some won't play at all at the moment.
  544. For this reason I've included the mame025 too - sorry! I'll fix it as soon
  545. as I know what is happening, but I suspect there will be a quick rerelease of
  546. MAME. Bear in mind that as I type this, only RISC OS and PC versions of MAME 0.26
  547. exist.
  548.  
  549. -nosound has been added.
  550.  
  551. A bug was fixed in the sound support (some samples will no longer erroneously
  552. repeat like they were doing in MAME 0.25).
  553.  
  554. 18 Jul 1997 (0.26.1)
  555.  
  556. A bugfix release of MAME 0.26 (0.26a) was released and I ported this version across..
  557. This version works, supports one or two more games than 0.26 did, and fixes colours
  558. with some games.
  559.  
  560. Pacman pitch is different - note that this is due to a change in the generic MAME
  561. sources though there have been some slight sound changes by me recently. 
  562.  
  563. 20 Jul 1997
  564.  
  565. Tested and released. In theory any remaining keyboard problems have been
  566. sorted out.
  567.  
  568. Please note that the generic source for version 0.26.1 of MAME is still not
  569. correct - this has been experienced by PC users (the only other version of
  570. MAME 0.26 right now is the PC version) - games like Pengo and Yie Ar Kung Fu
  571. are experiencing the same problem as with 0.26.0.
  572.  
  573. Also, for some games, you are recommended to use the -nosound option - the
  574. generic code for 0.26 seems to be hanging at the point where it's supposed to
  575. generate wave forms to play - to get out of the hang, alt-break and then
  576. rerun mame and then exit in order to clean up the sound system.
  577.  
  578. I am awaiting a newer bugfixed version of MAME 0.26 to port.. :-)
  579.  
  580. 07 Aug 1997
  581.  
  582. Work on newer sound system - designed to take what I've got so far and
  583. generate a more unified SoundBlaster-style API for RISC OS. Once I've grafted
  584. this in, all remaining sound problems should be cleared up.
  585.  
  586. 11 Aug 1997 (0.27.0)
  587.  
  588. MAME 0.27 arrives at last :-)
  589.  
  590. Ported across. There is a lot more I want to do as I have finished my other
  591. changes. Essentially I am releasing this to get any major bug problems so I
  592. can try to fix them at the same time as grafting the new sound system in.
  593.  
  594. If you are having problems with hanging with some games, *RMKill MameVoices
  595. before running the emulator.
  596.  
  597. -vg not implemented yet.
  598.  
  599. 12 Aug 1997
  600.  
  601. -vg implemented. Vector games seem to run very nicely in 800x600 or even
  602. 1280x1024 modes.
  603.  
  604.  
  605. 15 Aug 1997
  606.  
  607. New Sound module! It works extremely well so sound in everything is
  608. significantly improved.
  609.  
  610. The sound module is actually a very cut down version of the new sound API I'm
  611. developing, as RISC OS sound support has started to become the bottleneck for
  612. RISC OS MAME at the moment. My sound system will allow for 32 channels with
  613. mixing, Each channel can have it's own frequency, waveform, volume, and
  614. looping points. It has support for 8 and 16-bit sound systems, and optimises
  615. itself towards the system in use.
  616.  
  617. The system is a sharable resource and I shall be using it myself for future
  618. projects. I shall release the API to other developers when it's further
  619. developed. 
  620.  
  621. Put back the Williams video driver hardware palette change optimisation which
  622. was missing from MAME 0.27.0 (I hadn't noticed they'd correctly
  623. conditionalised hardware palette availability at compile time at long last,
  624. rather than #defining MSDOS_ONLY in the Williams video hardware emulation
  625. file for hardware palettes - which is why very early versions of MAME had
  626. broken palettes for Williams stuff. Williams driver is now, as a result, back
  627. to pre-2.7.0 speeds again.
  628.  
  629. 20 Aug 1997
  630.  
  631. Added additional optimisation to Williams driver (IE RISC OS is nearer the
  632. Win32 DirectX5  model, so now only one screen blit is needed, not 2 (like
  633. DOS) or 3 (like Unix). Williams drivers are now extremely fast.
  634.  
  635. 21 Aug 1997
  636.  
  637. Minor tweaks to streamed sound.
  638.  
  639. Mouse support is now working. This behaves in the same way as the DOS/Win32
  640. version.
  641.  
  642. Overall volume control works fully.
  643.  
  644. 22 Aug 1997 (MAME 0.27.1)
  645.  
  646. Trackerball emulation support added (-trak) - makes Missile Command
  647. infinately more playable :-)
  648.  
  649. 25 Aug 1997
  650.  
  651. Started work on two new refresh algorithms, -directrefresh and
  652. -bankedrefresh, allowing direct screen access (or bankswitched direct screen
  653. access) instead of the usual MAME blit technique, thus speeding the game up a
  654. little on slower systems. This will not work with some games, however.
  655.  
  656. 09 Sep 1997
  657.  
  658. MAME 0.28 source acquired and ported across. This includes the new MAME 68000
  659. simulation core.. unfortunately, under ARM, this is
  660. sloooo-oooo-oooo-oooo-oooow, to say the very least. The biggest problem is
  661. that the 68000 is bigendian, and works with halfwords (as we know them in the
  662. ARM world - ie they are 16 bits).. later ARM architectures allow halfword
  663. stores (woohoo!) but IOMD(+)/7500FE does not (d'oh!). We're lucky to have an
  664. inexpensive barrel-shifter, as the emulator uses it as if it's going out of
  665. fashion. Most of the time it's taking a trip into
  666. shiftleftbytwentyfourbitsville.
  667.  
  668. I found the problem with sounds with some games under RISC OS (and other
  669. versions but it only really appeared with the RISC OS version). Basically the
  670. PSG AY-3-8910 sound generator was partying on down with the memory map with
  671. the fervour of a Cwmbran Nurse. I'll reflect my changes back to the other
  672. MAME-type people, but I suspect I still have some work to do here. In fact, I
  673. definitely do, as this chip emulation is also the reason behind some games
  674. appearing to 'lock' if sound is enabled.
  675.  
  676. 10 Sep 1997 (MAME 0.28.0)
  677.  
  678. Tidied and released.
  679. The executable size is up by around 600K as a result of the changes made to
  680. 0.28. The inclusion of the 68000 emulator should result in an explosion
  681. of extra games supported very soon.
  682.  
  683. 15 Sep 1997
  684.  
  685. Found a problem with speed throttling under RISC OS - IE it doesn't work.
  686. Basically, ARM MAME has been running too fast and without throttling until
  687. now. The problem is due to RISC OS by default not providing a timer with a
  688. greater resolution than 100 ticks a second. Correct speed throttling requires
  689. a millisecond timer which I have to implement myself when I have the time
  690. (and I'm very very busy with other projects at the moment I'm afraid...)
  691.  
  692. Speed throttling is now implemented which means games run at the correct
  693. speed. To return to the speeds you're probably used to by now, turn speed
  694. throttling OFF.
  695.  
  696. Actually, speed throttling won't be quite perfect until I implement a
  697. millsecond timer, the lack of accuracy in the centisecond timer means that
  698. you'll end up being just under or just over 100% speed (the little 'gaps' it
  699. fills in by waiting in order to throttle the speed can be much smaller than a
  700. centisecond).
  701.  
  702. 23 Oct 1997 (MAME 0.29.0)
  703.  
  704. Sorry if this one appeared relatively late (48 hour wait.. sorry ;-) ).. I'm
  705. currently up to my eyes in another project at the moment and ported this for
  706. stress relief..
  707.  
  708. Actually this one was quite complex to port due to the large numbers of
  709. changes going on at source level - there are however a lot of generic
  710. enhancements in this release.
  711.  
  712. Slot size is up again I'm afraid - there's another processor (6808) being
  713. emulated too, bringing the total amount of currently emulated processors to
  714. six.
  715.  
  716. Executable size is around 1600K.
  717.  
  718. 31 Oct 1997
  719.  
  720. Released...
  721.  
  722. 03 Nov 1997 (MAME 0.29.1)
  723.  
  724. Problems fixed within MAME which now result in significant improvement of
  725. graphical quality in some games (specifically we were falling foul of the
  726. word-alignment problem with ARM loads and stores, or halfw*rds but I don't
  727. even want to begin to talk about them).
  728.  
  729. Games such as StarForce, Rastan, tp84, Kangaroo etc now look far far better, and
  730. don't suffer the effect of.. well, nonaligned data loads being blitted to memory
  731. and doing all sorts of strange shimmering effects when you move, like some kind
  732. of shimmering strange effects-sort-of-thing.
  733.  
  734. I've also finally got in touch with Mirko Buffoni (the MAME co-ordinator and
  735. also a very very very nice and enthusiastic bloke) to get some of the ARM
  736. version changes necessary merged into the generic MAME sources... this should
  737. save time for me in the future.
  738.  
  739. A similar word-alignment problem has been fixed with the 68000 driver.. so
  740. Rastan works agaiu and at twice the speed it was before.
  741.  
  742. The MAME executable has been Squeezed.. This knocks about 900K off it during
  743. storage...
  744.  
  745. 10 Dec 1997 (MAME 0.29.2)
  746.  
  747. Recompiled with CLib again, UnixLib seems to be causing random file opening
  748. problems with some people, probably down to something underlying in RISC OS.
  749. Damn.
  750.  
  751. Correct whatsnew/txt etc files.
  752.  
  753. Mame is no longer squeezed - I remembered why I didn't do it in the first
  754. place now, it adds to the size of the archive, and, as I recommend storing it
  755. in an archive anyway, it just causes an increase in space taken for most
  756. people.
  757.  
  758. Some other minor bits and pieces tweaked.
  759.  
  760. Placed the whole lot in a more ready-to-run directory structure.
  761.  
  762. 14 Dec 1997 (MAME 0.29.3)
  763.  
  764. Lots of little fixes:
  765.  
  766. Implemented dirty buffering for this release. This speeds some games up (more
  767. in the future) significantly. A nasty bug in ARM GCC had stopped me being
  768. able to do this before (ARM GCC sometimes doesn't store registers on the
  769. stack with some functions, and you can end up with BL ... followed by MOV
  770. pc,r14).
  771.  
  772. Dirty buffering will probably improve further in the next release.
  773.  
  774. Found the problem with sound hanging with some games (eg Star Wars, Missile
  775. Command, Centipede, Asteroids Deluxe); it was the POKEY emulation doing
  776. non-word-aligned 32-bit loads and stores.
  777.  
  778. Mouse positioning problems fixed.
  779.  
  780. 08 Jan 1998
  781.  
  782. MAME 0.30 source finally arrives.
  783.  
  784. Fixed very minor bug in pokey sound generation introduced when I cleaned it
  785. up for ARM word alignment in December.    This improves sound in a few cases.
  786. -320 was setting the wrong display mode. Oops.
  787.  
  788. 09 Jan 1998 (MAME 0.30.0)
  789.  
  790. Tidied in preperation for release. Config loading and saving to a file will
  791. be disabled in this release until I get some more feedback from frontend
  792. authors so we can use a file format which makes everyone happy. It'll
  793. probably end up as a textual keyword file.
  794.  
  795. The distribution archive now contains some cheat codes for the cheat system.
  796.  
  797. Anti-Aliasing now working with the vector games. Anti-Aliasing is
  798. automatically turned on with high resolutions; you can use -noaa to turn it
  799. off.
  800.  
  801. There has been a fantastic deal to do this time, I've tried a lot of games
  802. and they worked.. I could not test all of them to say the least. Please let
  803. me know of any problems. I know I have a lot to do as far as sound is
  804. concerned, this will be my next task.
  805.  
  806. Executable size is around 2360K now.